The present invention relates generally to data communications and more particularly relates to a mechanism and associated protocol for per connection based service level agreement (SLA) parameter measurement.
Currently, the number of data networks and the volume of traffic these networks carry are increasing at an ever increasing rate. The network devices making up these networks generally consist of specialized hardware designed to move data at very high speeds. Typical asynchronous packet based networks, such as Ethernet or MPLS based networks, are mainly comprised of end stations, hubs, switches, routers, bridges and gateways. A network management system (NMS) is typically employed to provision, administer and maintain the network. One of the basic features of an NMS is the network level reporting that is available to assist the network administrator in managing the network. The network level reports provide a large amount of data about the network and the general view of the network enables the network manager to identify problems or faulty behavior in the network. Once a particular area of interest in the network is identified, a more in depth view can be obtained by specific reports on a device, link or connection basis.
The devices deployed in networks that have management capability commonly use the simple network management protocol (SNMP) via an SNMP agent built into the device. The NMS communicates with each network device in the network via the SNMP agent. The NMS can collect reporting data and write configuration data into the device via the agents. The network device provides access to internal data via what is known as a management information base (MIB). Standard MIBs are universally defined while proprietary MIBs are valid only for a specific vendor""s products.
From a user""s perspective, the information to be collected for a network switch device generally include packet throughput, latency, traffic load, jitter, round trip delay, bandwidth availability, the number of valid and lost packets, etc. For example: total packets including valid and erroneous packets; packets discarded due to CRC error, oversize packet, undersize, etc.; packets discarded due to overload conditions; error rate, i.e. percentage of error packets out of total packets, discard rate, i.e. percentage of discarded packets out of valid packets. In addition, the data collected may be on a link basis, port basis or connection basis for either inbound or outbound traffic.
A service level agreement (SLA) is a contract between a service provider and a user (i.e. customer) whereby the user pays to receive a certain quality of service. Often the service provider agrees to provide the user a minimum bandwidth referred to as the committed information rate (CIR). The bandwidth may be higher during bursts and the service provider agrees to provide an expected information rate (EIR) which is higher than the CIR. User packets received that exceed the EIR may be dropped. User""s rely heavily on network reporting to verify that the rate provided by the service provider is in accordance with the service level agreement. The reporting capabilities of the network provide the user with the means to insure the rates promised by the SLA. If packets are dropped, even though the rate reported is below the CIR in the SLA, appropriate troubleshooting measures can then be taken.
As the number of devices in the network grows, the amount of processing resources needed to carry out the reporting also increases. If the number of connections/ports/links that need reporting grows too large, network performance may suffer noticeably.
Thus, there is a need for a mechanism capable of providing SLA reporting that provides the necessary reporting capabilities and that is scaleable over a large number of connections without placing an undue burden on the processing resources of the devices in the network.
The present invention provides a mechanism and associated protocol for performing SLA measurements in a communications network. The measurements may be performed on any desired basis such as device, link or connection basis. The measurements obtained are used to perform various SLA parameter calculations such as end to end delay, round trip delay, one way jitter and bandwidth calculations.
To provide SLA measurement capability, the invention is incorporated into the network devices within the network. For example, the invention may be incorporated in access devices or the switches making up the core network. Round trip delay and bandwidth measurements are performed using the mechanism of the present invention on both ends of a connection. One mechanism on one side sends SLA measurement request messages and the mechanism on the other side responds to these messages.
The SLA measurement messages are recognized by the hardware, time stamped and bandwidth stamped and sent back in a reply message without the intervention of software running on the CPU of the server (i.e. destination) side. This permits the measurement mechanism to scale to large numbers of connections monitored. An advantage of the SLA measurement protocol is the ability to scale to perform measurements over a large number of connections within an iteration period The mechanism also permits shortening of the iteration period for specific connections when required Specifically, a single-second iteration is possible in the case of a single connection per box.
In addition, it is possible to perform multiple measurement processes per connection, for example, one measurement process for a constant low frequency check and another measurement process for a temporary high frequency check. The measurement of the round trip delay and jitter is from the network port of an access device to the network port of another access device.
The mechanism of the present invention comprises hardware based bandwidth counters that function to accurately measure various packet flows including sent, received and lost packets in synchronous fashion such that a user can know exactly how many packets sent on one side of a connection were received on the other side. Bandwidth counters are measured within a short period of time so that the user can verify CIR and EIR rates.
There is thus provided in accordance with the present invention a method in a network for performing service level agreement (SLA) measurements, the method comprising the steps of determining a plurality of connections to be measured; and for each connection to be measured, generating at a local device a local ingress stamp and transmitting over the connection to a remote device an SLA measurement request message incorporating the local ingress stamp, generating a remote egress stamp at the remote device and transmitting over the connection to the local device an SLA measurement response message incorporating the remote egress stamp and the local ingress stamp, generating a local egress stamp upon receipt by the local device of the SLA measurement response message and calculating one or more SLA parameter measurements in accordance with the local ingress stamp, the remote egress stamp and the local egress stamp.
There is also provided in accordance with the present invention a method in a network device for performing service level agreement (SLA) measurements, the method comprising the steps of determining a plurality of connections to be measured; and for each connection to be measured, generating a client ingress stamp and transmitting an SLA measurement request message incorporating the local ingress stamp over a communications network to a remote device for generating a server egress stamp and responding therewith, receiving an SLA measurement response message incorporating the server egress stamp and generating a client egress stamp in response thereto and calculating one or more SLA parameter measurements in accordance with the client ingress stamp, the server egress stamp and the client egress stamp.
There is further provided in accordance with the present invention a method in a network device for performing service level agreement (SLA) measurements, the method comprising the steps of receiving over a communications network an SLA measurement request message incorporating a client ingress stamp from a client device and generating a server egress stamp and transmitting an SLA measurement response message incorporating the remote egress stamp and the client ingress stamp over the communications network to the client device for generating a client egress stamp and calculating one or more SLA parameter measurements in accordance with the client ingress stamp, the server egress stamp and the client egress stamp.
There is still further provided in accordance with the present invention a network device comprising a control processor, one or more user ports, one or more network ports, ingress packet processing means adapted to recognize service level agreement (SLA) measurement request. messages generated for connections and to generate client ingress stamps in response thereto, transmission means adapted to transmit the SLA measurement request messages over a communications network to a remote device at a far end of the connection for replying with a server egress stamp within an SLA measurement response message, egress packet processing means adapted to recognize the SLA measurement response message and to generate a client egress stamp, means for forwarding the client ingress stamp, server egress stamp, the client egress stamp, connection-ID and iterator to the control processor and software operative on the control processor for calculating one or more SLA measurement parameters in accordance with the client ingress stamp, server egress stamp and the client egress stamp.
There is also provided in accordance with the present invention a protocol for use in performing service level agreement (SLA) measurements in a network, comprising messages wherein each message comprises a first field in an SLA measurement message representing a particular connection to be measured, a second field in an SLA measurement message representing a client ingress stamp, a third field in an SLA measurement message representing a server egress stamp and a fourth field in an SLA measurement message representing a client egress stamp.
There is further provided in accordance with the present invention a computer program product for use in a network device, the computer program product comprising a computer useable medium having computer readable program code means embodied in the medium for performing service level agreement (SLA) measurements, the computer program product comprising computer readable program code means for determining a plurality of connections to be measured, computer readable program code means for generating, for each connection to be measured, a client ingress stamp and transmitting an SLA measurement request message incorporating the local ingress stamp over a communications network to a remote device for responding with an server egress stamp, computer readable program code means for receiving an SLA measurement response message incorporating the server egress stamp and generating a client egress stamp in response thereto and computer readable program code means for calculating one or more SLA parameter measurements in accordance with the client ingress stamp, the server egress stamp and the client egress stamp.